【Excel VBA】单元格变更事件,单元格内容变更自动触发:Worksheet 您所在的位置:网站首页 excel vba 输入提示 【Excel VBA】单元格变更事件,单元格内容变更自动触发:Worksheet

【Excel VBA】单元格变更事件,单元格内容变更自动触发:Worksheet

2023-08-12 09:13| 来源: 网络整理| 查看: 265

纲举目张 说明实现功能代码code使用说明

说明

我们一般触发或者执行一段宏命令都是通过自定义按钮或者自定义快速访问栏调用相关宏命令,前一段时间在CSDN中回答网友提问的问题时,我无意中测试成功了一些Excel的内置事件,其中符合网友要求的就是单元格变更事件Worksheet_Change。 添加该事件的方法:Alt+F11调出Microsoft Visual Basic for Applications窗口,双击该文件下的相应的Sheet,例如Sheet1,在右侧出现的Sheet1 (代码)窗口的左上部选择Worksheet,在其右边的选择框中选择Change。下方的代码区则自动生成相应的代码段。如下图: 添加事件方法

实现功能

根据网友提出的需求:在单元格中选择“开”时,其右侧为随机函数生成一个随机数,当选择“关”时,其右侧为0。需求如下图:

需求示意

代码code Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then '如果目标区域含有多个单元格 则退出 Exit Sub End If If Target.Column 2 Or Target.Row 3 Then '如果目标单元格不是B3 则退出 Exit Sub End If If Target.Value = "关" Then '如果选择的是关,则将C3单元格赋值为 0 Cells(3, 3).Value = "0" Else '如果选择的是开,则将C3单元格赋公式 Cells(3, 3).Formula = "=RAND()" End If End Sub 使用说明

1、在上述代码中我将系统自动生成的代码段也放入了进来,方便初学者对比截取。 2、事件的参数是Range对象,无论是哪个单元格的值发生变化,都会触发该语句,所以需要在语句的最开始需要对传入的单元格进行判断,如果不是开关所在的B3单元格,则退出该语句。 3、请点击下载本文附件

如有意见建议或使用中出现Bug请留言,谢谢!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有